#ifndef EDITOROBJECTINFO_H
#define EDITOROBJECTINFO_H
#include "StompedReality/Core/TypeSystem/TypeInfo.h"
#include "StompedReality/Math/Vector2.h"
#include "StomperLib/Controls/Property/PropertyInfo.h"
#include <string>
#include <vector>
namespace StomperLib {
class EditorObjectInfo
{
 public:

  //! \brief Typename
  std::string TypeName;

  //! \brief Name in Editor
  std::string Name;

  //! \brief Tags
  std::vector<std::string> Tags;

  //! \brief	Properties to Display
  std::vector<StomperLib::Controls::Property::PropertyInfo> PropertyInfos;

  //! \brief	TypeInfo.
  StompedReality::type_system::TypeInfo* TypeInfo;

  //! \brief	Constructor.
  EditorObjectInfo( )
  {
    Name = "";
    Tags = std::vector<std::string>( );
    PropertyInfos = std::vector<StomperLib::Controls::Property::PropertyInfo>( );
  }

  //! \brief	Destructor.
  virtual ~EditorObjectInfo( )
  {
  }

  //! \brief	Data Pointer.
  virtual char* GetDataPointer( ) {
    return NULL;
  }

  //! \brief	Renders.
  virtual void Draw( )
  {
  }

  //! \brief	Checks if mouse intersects
  virtual bool IntersectsWithMouse( StompedReality::Math::Vector2 mousePos ) {
    return false;
  }

  virtual void Translate( StompedReality::Math::Vector2 translation )
  {
  }

};

}
#endif;